package com.itheima.crops.service;

import com.github.pagehelper.Page;
import com.itheima.crops.pojo.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface PcropsService {
    /**
     * 条件+分页查询
     * @param searchMap 查询条件
     * @param page 页码
     * @param size 页大小
     * @return 分页结果
     */
    public Page<Pcrops> findPage(Map<String,Object> searchMap, int page, int size);

    /**
     * 农作物全查
     * @return
     */
    public List<Pcrops> findAll();

    /**
     * 农作物根据id查询
     * @param id
     * @return
     */
    public Crops findById(Integer id);
    public Pcrops findById1(Integer id);
    /**
     * 新增农作物并返回农作物id
     * @param pcrops
     * @return
     */

    /**
     * 查农作物与指标关联关系
     * @param id 农作物id
     * @return
     */
    public List<PcropsIndexInfo> pcropsIndexInfoList(Integer id);
    /**
     * 查农作物与病虫害关联关系
     * @param id
     * @return
     */
    public List<Disease> diseaseList(Integer id);

    public Integer add(Pcrops pcrops);

    /**
     * 添加农作物与指标的关联关系
     * @param cid
     * @param pcropsIndexInfoVO
     */
    public void addPcropsIndexRel(Long cid, PcropsIndexInfoVO pcropsIndexInfoVO);

    /**
     * 添加农作物与病虫害的关联关系
     * @param cid
     * @param dids
     */
    public void addPcropsDiseaseRel(Long  cid,Long[] dids);

    /**
     * 修改农作物基本信息
     * @param pcrops
     */
    public void Update(Pcrops pcrops);

    /**
     * 修改农作物与指标的关联关系
     * @param cid
     * @param pcropsIndexInfoVO
     */
    public void updatePcropsIndexRel(Long cid,PcropsIndexInfoVO pcropsIndexInfoVO);

    /**
     * 修改农作物与病虫害关联关系
     * @param cid
     * @param dids
     */
    public void updatePcropsDiseaseRel(Long cid,Long[] dids);

    /**
     * 删除农作物以及农作物与农作物指标关联关系，农作物与病虫害关联关系
     * @param id
     */
    public void delete(Long id);
}
